The generator matrix

 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X
 0 X^3  0  0  0  0  0  0  0 X^3 X^3 X^3 X^3 X^3 X^3 X^3  0  0  0 X^3 X^3  0  0 X^3  0 X^3  0 X^3 X^3 X^3 X^3  0
 0  0 X^3  0  0  0 X^3 X^3 X^3 X^3 X^3  0 X^3 X^3  0  0  0  0 X^3 X^3  0  0 X^3 X^3 X^3 X^3 X^3 X^3  0  0  0  0
 0  0  0 X^3  0 X^3 X^3 X^3  0  0  0  0 X^3 X^3 X^3 X^3  0 X^3 X^3  0  0 X^3 X^3  0  0 X^3  0 X^3 X^3 X^3  0  0
 0  0  0  0 X^3 X^3  0 X^3 X^3  0 X^3 X^3 X^3  0  0 X^3 X^3 X^3  0  0  0  0 X^3 X^3 X^3 X^3  0  0  0 X^3 X^3  0

generates a code of length 32 over Z2[X]/(X^4) who�s minimum homogenous weight is 32.

Homogenous weight enumerator: w(x)=1x^0+253x^32+2x^48

The gray image is a linear code over GF(2) with n=256, k=8 and d=128.
As d=128 is an upper bound for linear (256,8,2)-codes, this code is optimal over Z2[X]/(X^4) for dimension 8.
This code was found by Heurico 1.16 in 0.015 seconds.